package edu.object_oriented.superPra;

/**
 * 继承 ： extends  关键字    子类  继承  父类
 * 子类 会将 父类 非私有的属性以及方法  继承过来
 */

public class Stu extends Peo {

    //继承中，当我们创建子类对象时，会默认调用父类的构造
    public Stu() {
        //默认在子类构造中使用，隐藏。。。  调用父类的无参构造
//        super();
        super("tom",20,"男");
        System.out.println("Stu子类构造");
    }

    String msg;

    @Override
    void print() {
        System.out.println("新的执行逻辑" + super.msg);
    }
    //子类中如果想调用父类的方法，但是这个方法已经被子类重写了
    void test(){
        super.print();
    }

    /**
     * this : 当前类对象的一个引用
     *      this():
     *      this.属性
     *      this.方法()
     * super:当前类的父类的对象的一个引用
     *  super() : 在子类构造中调用父类构造
     *  super.属性 ： 调用父类属性   （子类有一个属性和父类重名）
     *  super.方法() : 调用父类方法 （重写）
     */

}
